EnhancedLogger.js ➔ ... ➔ ???   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 1
rs 10
ccs 0
cts 1
cp 0
crap 2
1
"use strict";
2
3 1
const Logger = require('./Logger');
4 1
const Response = require('../model/Response');
5 1
const Request = require('../model/Request');
6 1
const transformers = require('./transformers');
7
8 1
const normalize = (meta = {}, level = 0) => {
9 185
    if (level++ < 5) {
10 185
        if (Array.isArray(meta)) {
11
            return meta.map(metaData => normalize(metaData, level));
12 185
        } else if (meta instanceof Request) {
13
            return transformers.request(meta);
14 185
        } else if (meta instanceof Response) {
15 7
            return transformers.response(meta);
16 178
        } else if (meta instanceof Object) {
17 66
            const newObject = {};
18 66
            for (let metaKey in meta) {
19 169
                if (meta.hasOwnProperty(metaKey)) {
20 169
                    newObject[metaKey] = normalize(meta[metaKey], level);
21
                }
22
            }
23
24 66
            return newObject;
25
        }
26
    }
27
28 112
    return meta;
29
};
30
31
class EnhancedLogger extends Logger {
32
    /**
33
     * @public
34
     * @param {Object} request
35
     *
36
     * @returns {Object}
37
     */
38
    formatRequest(request) {
39
        return {
40
            url: request.url,
41
            query: request.query,
42
            path: request.path,
43
            method: request.method,
44
            mime: request.mime,
45
            params: request.paramsArray,
46
            payload: request.payload
47
        };
48
    }
49
50
    /**
51
     * @inheritDoc
52
     */
53
    normalizeMeta(meta = {}) {
54 16
        return normalize(meta);
55
    }
56
57
}
58
59
/**
60
 * @return {TaskLogger} Logger for a task
61
 */
62 1
module.exports = EnhancedLogger;
63
64